1. Field of the Invention
This invention concerns a simulation mesh generation method for generating, at high speed, meshes having a boundary protection layer for use in semiconductor processes and device simulations. The present invention also concerns an apparatus for generating these meshes and a computer program product for causing a computer to generate meshes.
2. Description of the Related Art
In semiconductor manufacturing processes using process simulators and in analyzing the electrical properties of transistors using device simulators, it is necessary to solve diffusion continuity equations, Poisson equations, and other partial differential equations in order to determine impurity distributions, current densities, and other physical quantities. Because partial differential equations cannot be solved analytically, however, computations are performed after subdividing analysis domains into small domains and discretizing the partial differential equations. The method of such discretization widely and generally used is mesh generation using triangular meshes, a method that affords outstanding shape compatibility. With this method it is possible to accurately represent the complex shapes found in semiconductors.
When such triangular.meshes are used for MOSFET simulations, however, there are problems, as demonstrated by Kumashiro and Yokota in "NUPAD-V," pp. 167-170. It has also been demonstrated that the boundary protection layer disclosed in Unexamined Japanese Patent Publication No. A-7-161962 [1995] is an effective measure for resolving these problems.
A technique for generating this boundary protection layer is represented in the flowchart given in FIG. 14. The processing procedures are as follows. In processing step 1201, a boundary protection layer is generated that comprises an orthogonal mesh that is locally matched with the boundary line segments. In processing step 1202, mesh points are placed inside an area separated at least by some reference distance from the boundary protection layer. In processing step 1203, the mesh points are connected together, and a triangular mesh is generated by the method of maximizing the apparent angle. The method of maximizing the apparent angle, as disclosed in Unexamined Japanese Patent Publication No. A-7-219977 [1996], is a method wherein attention branch terminal mesh points and branch vicinity mesh points are connected, and mesh points are thereupon selected wherewith the apparent angle is maximized.
The method of maximizing the apparent angle is now briefly described with reference to FIG. 15. Taking the line segment A14-B14 as an attention branch, in a case where the connectable mesh points are C14, D14, E14, and F14, these respective mesh points are connected with the branch terminal mesh points A14 and B14, and the mesh point wherewith the apparent angle is maximized is selected. By apparent angle is meant, for example, .angle. A14 C14 B14. In the example diagram given in this figure, the apparent angle is maximized when A14 and B14 are connected to mesh point C14. Because the chord A14 B14 is common, the apparent angle reaches maximum at the mesh point where the radius of the circumscribed circle is maximum. When the circumscribed circle radius reaches minimum, there will be no other mesh point contained inside the triangle A14 B14 C14. For this reason, Delaunay division can be performed efficiently with the method of maximizing the apparent angle. It is also possible to generate a triangular mesh that spirals in toward the interior of a domain from the periphery.
Next, in processing step 1204, a search is made for a triangular mesh that destroys the boundary protection layer. When a triangular mesh exists which destroys the boundary protection layer, in processing step 1205, of the apexes of the triangular mesh that destroys the boundary protection layer, the mesh point inside the domain is projected onto the boundary line segment, and that projection point is added as a new mesh point. Thereupon, processing step 1201 is returned to, and the routines from that step on are repeatedly executed until the generation of new projection points ceases. In processing step 1204, moreover, if no triangular mesh exists that destroys the boundary protection layer, all processing for generating the boundary protection layer terminates.
By using the technique described in the foregoing, it is possible to make the cross-sectional area in the normal direction relative to the control volume boundary constant. When that is done, it is possible to accurately compute inversion layer currents for MOSFETs having Si--SiO.sub.2 boundary surfaces facing in any direction without producing mesh-induced parasitic resistance.
When this technique is used, however, in cases where a triangular mesh exists which destroys the boundary protection layer, the triangular mesh produced in processing step 1203 will be thrown out. In general, when mesh points become numerous, more time is required to generate triangular meshes, so that, when triangular meshes exist that destroy the boundary protection layer and there are many mesh points, time is lost. For this reason, there is still room for improvement in the high-speed generation of meshes having boundary protection layers in cases where there are triangular meshes that destroy the boundary protection layer.
More specifically, in the prior art described above, there are the following problems.
A first problem is that, while triangular meshes exist that destroy the boundary protection layer, time is wasted in generating triangular meshes that cannot destroy the boundary protection layer, as with triangular meshes inside the domain.
A second problem is that boundary protection layers are also added to the surfaces of device walls or device bottoms wherein reflection type boundary conditions are established, whereupon time is wasted in subsequent process diffusion simulations, etc., because of the boundary protection layer generation time and the increase in the number of meshes.
The present inventor determined by analysis that the cause of these difficulties lies in the fact that the search for triangular meshes destructive of the boundary protection layer is conducted after the triangular meshes have been completed inside the domain. In the prior art, moreover, boundary protection layers are generated for all boundary surfaces, so that boundary protection layers are added also to device wall and bottom surfaces.